var CQueue = function () {
	// 初始化两个栈-用数组表示
	this.stackA = [];
	this.stackB = [];
};

/** 
 * @param {number} value
 * @return {void}
 */
CQueue.prototype.appendTail = function (value) {
	// 向栈A的栈顶追加一个元素
	this.stackA.push(value);
};

/**
 * @return {number}
 */
CQueue.prototype.deleteHead = function () {
	// 从栈B的栈顶删除一个元素
	// 1.1. 栈B为空，则先将栈A的所有元素弹出，并压入栈B，然后删除B的栈顶元素
	// 1.2. 栈B不为空，直接删除栈顶
	if (this.stackB.length) {
		return this.stackB.pop();
	} else {
		while (this.stackA.length) {
			this.stackB.push(this.stackA.pop())
		}
		// 2.1. 栈B为空，返回-1
		// 2.2. 栈B不为空，弹出栈顶
		if (!this.stackB.length) {
			return -1;
		} else {
			return this.stackB.pop();
		}
	}


};

/**
 * Your CQueue object will be instantiated and called as such:
 * var obj = new CQueue()
 * obj.appendTail(value)
 * var param_2 = obj.deleteHead()
 */